package com.liliudong.template.biz.service.sys;

import com.baomidou.mybatisplus.extension.service.IService;
import com.liliudong.template.common.entity.sys.SysRoleDept;

import java.util.List;
import java.util.Set;

public interface SysRoleDeptService extends IService<SysRoleDept>{

	/**
	 * 使用角色id保存批次
	 *
	 * @param roleId  角色id
	 * @param deptIds 部门ID
	 */
	void saveBatchWithRoleId(Long roleId, List<Long> deptIds);

	/**
	 * 按角色id删除
	 *
	 * @param roleId 角色id
	 */
	void removeByRoleId(Long roleId);

	/**
	 * 使用角色id更新批处理
	 *
	 * @param roleId  角色id
	 * @param deptIds 部门ID
	 */
	void updateBatchWithRoleId(Long roleId, List<Long> deptIds);

	/**
	 * 按部门id计数
	 *
	 * @param deptId 部门id
	 * @return long
	 */
	long countByDeptId(Long deptId);

	/**
	 * 按角色id列出部门id
	 *
	 * @param roleId 角色id
	 * @return {@link Set }<{@link Long }>
	 */
	Set<Long> listDeptIdsByRoleId(Long roleId);
}
